#ifndef __ARRAYSHM_H__   
#define __ARRAYSHM_H__


#include "Shm.h"
const int nMaxModifieableIndex = 1;
class ArrayShm : public Shm
{
public:

    ArrayShm();

    ~ArrayShm();

    //store or update data at index;
    bool PutValue(Data&, int index);
    //get data from a given index and retrun true on success

    bool GetValue(Data&, int index);

    //get current entry count
    int size();

    //restore data from last state and init the stor
    bool init(const char*, QMode = eWriter );

private:

    ArrayShm(const ArrayShm&);

    ArrayShm operator = (const ArrayShm&);
    void* GetBlock(size_t ,int  );
    //entry count
    int         m_nElemCount;
    
};
#endif //__PERSISTENTSHM_H__
